package com.jzo2o.trade.service;

import com.jzo2o.api.trade.dto.request.PayReqDTO;
import com.jzo2o.api.trade.dto.response.PayResDTO;
import com.jzo2o.trade.model.domain.Trading;
import com.jzo2o.trade.model.dto.TradeUpdateDTO;
import com.wechat.pay.java.service.payments.model.Transaction;

/**
 * @author itcast
 * @Description：统一支付接口
 */
public interface IPayService {

    /**
     * 统一支付接口
     *
     * @param reqDTO
     * @return
     */
    PayResDTO pay(PayReqDTO reqDTO);
    /**
     * 支付成功
     *
     * @param tradeUpdateDTO 外部交易单号
     */
    void paySuccess(TradeUpdateDTO tradeUpdateDTO);

    /**
     * 处理主动查询到的微信支付结果
     *
     * @param result 微信支付结果
     */
    void deal(Transaction result, Trading trading);
}
